There are many ways in which motion may be estimated between two images. This motion may be described by a set of motion parameters that describe motion of luminance of pixels from a first image to a second image. These motion parameters may be defined at a time associated with either or both of the first and second images, or may be defined at a time between the first and second images. Thus, a vector for each pixel describes the motion of the luminance of the pixel from one image to the next. Motion also may be described by a parameterized motion model, which may be translational, using two parameters, affine, using six parameters, or projective, using eight parameters, and that is defined for a region of an image, or an entire image. An estimate of a single parameterized motion model for a user-defined region of an image is useful for stabilization and tracking applications. An estimate of translational motion for every pixel in the image may be used for sample rate conversion and morphing applications. This motion estimate may be computed by using a gradient-based method, of which an example is a technique referred to as computing the “optical flow” between the images, or by using a correlation-based method.
Such motion parameters may be estimated by relying on what is known as a constant brightness constraint. The assumption is that the total luminance from one image to the next is constant. Two images, for example in RGB format, are converted from the existing format to a single luminance component, typically the luminance component of a YCrCb format image. Parameters are first estimated on a reduced resolution image, then propagated to a higher resolution version of the image. Details about implementations of such motion analysis may be found in several references, including, but not limited to “Hierarchical Model-Based Motion Estimation,” by J. R. Bergen et al., in Proceedings of Second European Conference on Computer Vision, pages 237-252, Springer-Verlag, 1992; and “Hierarchical Model-Based Frame Rate Converstion,” by J. R. Bergen et al, Technical Report, David Sarnoff Research Center, 1990; and “The Computation of Optical Flow, by S. S. Beauchemin and J. L. Barron, ACM Computing Surveys, Vol. 27, No. 3, September 1995, pp. 433-467, which are hereby incorporated by reference.